package jdk10.newAPI;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * copyOf方法的使用,copyOf方法返回不可变集合
 */
public class CopyOf {

	public static void main(String[] args) {
		var list = new ArrayList<String>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");

		var listCopy = List.copyOf(list);
		listCopy.forEach(System.out::println);

		var set = new HashSet<String>();
		set.add("b");
		set.add("a");
		set.add("c");
		set.add("d");

		var setCopy = Set.copyOf(set);
		setCopy.forEach(System.out::println);

		var map = new HashMap<>();
		map.put("k1", "a");
		map.put("k2", "b");

		var mapCopy = Map.copyOf(map);

		mapCopy.forEach((k, v) -> System.out.println(k + "=" + v));
	}

}
